home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / asm-generic / sembuf.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  1KB  |  39 lines

  1. #ifndef __ASM_GENERIC_SEMBUF_H
  2. #define __ASM_GENERIC_SEMBUF_H
  3.  
  4. #include <asm/bitsperlong.h>
  5.  
  6. /*
  7.  * The semid64_ds structure for x86 architecture.
  8.  * Note extra padding because this structure is passed back and forth
  9.  * between kernel and user space.
  10.  *
  11.  * semid64_ds was originally meant to be architecture specific, but
  12.  * everyone just ended up making identical copies without specific
  13.  * optimizations, so we may just as well all use the same one.
  14.  *
  15.  * 64 bit architectures typically define a 64 bit __kernel_time_t,
  16.  * so they do not need the first two padding words.
  17.  * On big-endian systems, the padding is in the wrong place.
  18.  *
  19.  * Pad space is left for:
  20.  * - 64-bit time_t to solve y2038 problem
  21.  * - 2 miscellaneous 32-bit values
  22.  */
  23. struct semid64_ds {
  24.     struct ipc64_perm sem_perm;    /* permissions .. see ipc.h */
  25.     __kernel_time_t    sem_otime;    /* last semop time */
  26. #if __BITS_PER_LONG != 64
  27.     unsigned long    __unused1;
  28. #endif
  29.     __kernel_time_t    sem_ctime;    /* last change time */
  30. #if __BITS_PER_LONG != 64
  31.     unsigned long    __unused2;
  32. #endif
  33.     unsigned long    sem_nsems;    /* no. of semaphores in array */
  34.     unsigned long    __unused3;
  35.     unsigned long    __unused4;
  36. };
  37.  
  38. #endif /* __ASM_GENERIC_SEMBUF_H */
  39.